As described in JP-2005-188297A, when a knock is caused, a phenomenon called “a low frequency shift” is caused. In the low frequency shift, a peak frequency of a vibration component specific to the knock gradually shifts to a lower frequency side. When a peak frequency of vibration component of one knock frequency range extracted from the output signal of the knock sensor gradually shifts to a lower frequency side, it is determined that a knock is caused.
An internal combustion engine is provided with various systems such as a variable valve timing controller and a super-charger in order to improve an output, a fuel economy and an environmental performance. A direct injection engine varies a fuel injection timing according to a combustion mode. Thus, many kinds of noises tend to superimpose on the signal of the knock sensor in a knock determination range. However, in the knock detection apparatus described in JP-2005-188297A, it is only determined whether a vibration component of one knock frequency range shifts to a lower frequency side in time sequence. Thus, as shown in FIG. 4, when a plurality of noises are superimposed on the signal of the knock sensor in time sequence in one knock determination range, there is a possibility of making an erroneous determination that one continuous vibration component will shift apparently to a lower frequency side. Therefore, when it is only determined whether the vibration component of one frequency range shifts to a lower frequency side, there is a possibility of making an erroneous determination that a knock is caused.
A noise generated by a single vibration, such as a valve seating noise or a direct-injection injector noise, does not continue for a long period like a knock vibration. However, there is a noise continuing for a long period in a specified frequency like a piston slap noise generated due to a piston sliding on a cylinder inner wall. Such a noise continuing for a long time in a specified frequency may cause an erroneous knock determination.